The present invention relates generally to methods and system for determining the progress of an operation being executed on a workstation. More particularly, the invention is directed to methods and systems for estimating the time to complete a task executing on a multitasking workstation.
Efficient utilization of workstations and workstation users is an important consideration when selecting software and hardware. Efficiency of use is particularly important when the workstation hardware and operating system are the subject of a premium cost to provide a multitasking environment, namely one which has the resources to concurrently execute multiple programs. In such context it becomes vital to provide the workstation user with information regarding the progress of a program or task which requires periodic user intervention. For example, if the user must make a decision and convey that as a control input to the workstation, or the user must physically interact with the workstation such as by replacing a diskette or a tape, efficiency is affected by the timeliness of the user/operator action.
A representative example of a common problem occurs when a large application or operating system program distributed over multiple diskettes is to be loaded one diskette at a time onto a workstation. The loading of files from each diskette is a time intensive undertaking and typically varies from diskette to diskette. The conclusion of each diskette loading cycle is conventionally indicated by a single "beep" sound. The user must either wait at the workstation for the conclusion signal or have the workstation remain idle between the conclusion of a diskette load and the next visit. The non-productive user time for interaction with a single workstation is more an aggravation than a major problem, but when the wasted time is multiplied by the numerous business application workstations subject to such loading, whether performed by individual users or by a network administrator, the time wasted is significant.
One approach to giving the user some information about the status of the task is to depict by text or graphics the fact that the task is still in progress, in contrast to a single concluding beep signal. Representative examples of such prior art approaches are the clock icons and hour glass icons generated on video display screens of workstations to show the continuity of the task. More recent refinements for keeping the user aware of the progress include graphical or icon depictions of tasks shown only in proportion to the extent completed. A representative example of such is the depiction of a diskette icon shown in a fractional relation to the number of files read from the diskette.
These approaches are lacking in two respects. First, they do not provide the information in a form which allows the user the greatest flexibility. For example, the user would prefer to know the time left before a diskette load operation is completed rather than the fact that half the diskette has been loaded already. Foremost, the measures do not take into account instantaneous changes in the computational or transmission workload of the limiting workstation resource. This issue is particularly important for the new multitasking workstations where ongoing tasks can commence or conclude during the execution of the task in question, such as the aforementioned diskette load operation. If a task ends, the diskette load operation can accelerate significantly. Similarly, if one or more tasks commences during the diskette load task, the speed of the diskette load, and elapsed time to completion, can change dramatically. Thus, a dynamic estimate of the time to completion is particularly important in a multitasking, and even more so in a multitasking and multiuser, workstation environment.
Known techniques, such as those associated with calculating the time remaining in the play of an optical disk or magnetic tape based upon prior measures of track count or tape length, neither compensate for nor operate in the context of an environment using a shared signal processor. See U.S. Pat. No. 4,916,682 for representative teaching of estimating the time to completion.